#ifndef XML_H_
#define XML_H_

#include "config.h"
#include "ElementXML.h"

using namespace std;

class XML {
public:

/**
 * Constructor n°1 : Instanciate the two member of this class: DTDName & root
 * @param _DTDname the dtd path (string)
 * @param _root the root element (string)
 */
	XML(char * _DTDname, ElementXML * _root);
	virtual ~XML();

/**
 * Getter which returns the root element
 * @return the root element
 */
	ElementXML * getRoot() const;

/**
 * Getter which returns the dtd path
 * @return the dtd path in string
 */
	string getDTD() const;

/**
 * Method which returns the representation in string of this xml
 * @return representation of this xml (string)
 */
	string toString() const;

protected :
/**
 * A protected class member represent the path to DTD File (could be relative)
 */
	string DTDname;


/**
 * A protected class member represent the root element of xml and all the node it contains.
 */
	ElementXML * root;
};

#endif /* XML_H_ */
